﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Community.CsharpSqlite
{
    class MutexType
    {

        /*
** CAPI3REF: Mutex Types
**
** The [MutexHelper.sqlite3_mutex_alloc()] interface takes a single argument
** which is one of these integer constants.
**
** The set of static mutexes may change from one SQLite release to the
** next.  Applications that override the built-in mutex logic must be
** prepared to accommodate additional static mutexes.
*/
        //#define MutexType.SQLITE_MUTEX_FAST             0
        //#define MutexType.SQLITE_MUTEX_RECURSIVE        1
        //#define MutexType.SQLITE_MUTEX_STATIC_MASTER    2
        //#define MutexType.SQLITE_MUTEX_STATIC_MEM       3  /* Malloc.sqlite3_malloc() */
        //#define SQLITE_MUTEX_STATIC_MEM2      4  /* NOT USED */
        //#define MutexType.SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
        //#define MutexType.SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_random() */
        //#define MutexType.SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
        //#define MutexType.SQLITE_MUTEX_STATIC_LRU2      7  /* lru page list */
        public const int SQLITE_MUTEX_FAST = 0;
        public const int SQLITE_MUTEX_RECURSIVE = 1;
        public const int SQLITE_MUTEX_STATIC_MASTER = 2;
        public const int SQLITE_MUTEX_STATIC_MEM = 3;
        public const int SQLITE_MUTEX_STATIC_OPEN = 4;
        public const int SQLITE_MUTEX_STATIC_PRNG = 5;
        public const int SQLITE_MUTEX_STATIC_LRU = 6;
        public const int SQLITE_MUTEX_STATIC_LRU2 = 7;
    }
}
